using System;
using System.ComponentModel.DataAnnotations;

namespace CR.Application.DTOs
{
    /// <summary>
    /// 屠宰信息DTO
    /// </summary>
    public class SlaughterInfoDTO
    {
        /// <summary>
        /// 主键ID
        /// </summary>
        public Guid Id { get; set; }

        /// <summary>
        /// 溯源码
        /// </summary>
        [Required(ErrorMessage = "溯源码不能为空")]
        [StringLength(50, ErrorMessage = "溯源码长度不能超过50个字符")]
        public string TraceabilityCode { get; set; }

        /// <summary>
        /// 屠宰日期
        /// </summary>
        public DateTime SlaughterDate { get; set; }

        /// <summary>
        /// 屠宰方法
        /// </summary>
        [StringLength(200, ErrorMessage = "屠宰方法长度不能超过200个字符")]
        public string SlaughterMethod { get; set; }

        /// <summary>
        /// 屠宰企业
        /// </summary>
        [StringLength(100, ErrorMessage = "屠宰企业长度不能超过100个字符")]
        public string SlaughterCompany { get; set; }

        /// <summary>
        /// 屠宰批次号
        /// </summary>
        [StringLength(50, ErrorMessage = "屠宰批次号长度不能超过50个字符")]
        public string SlaughterBatchNo { get; set; }

        /// <summary>
        /// 检疫结果
        /// </summary>
        [StringLength(500, ErrorMessage = "检疫结果长度不能超过500个字符")]
        public string QuarantineResult { get; set; }

        /// <summary>
        /// 屠宰负责人
        /// </summary>
        [StringLength(50, ErrorMessage = "屠宰负责人长度不能超过50个字符")]
        public string ResponsiblePerson { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedAt { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdatedAt { get; set; }
    }
} 